- web6047 - (2021/09/10(金) 現在、システム調整中のため、一部の表示がおかしいかもしれません)

homepage6047 2019年 5月

プログラミングやRPG(作るほう)が好きな人の日記


2019/5/31(金)

プラモを購入 -[plamo]

fig.
▲MGでもHGでもないただの 1/100

近所の小さなおもちゃ屋さんで「ガンダムSEEDデスティニー」の「ブレイズ・ザクファントム」を買いました。

最新の「ナラティブ・ガンダム」というのもあったんですが、私の心が動いたのはザクファントムでした。

SEED もナラティブも映像はほとんど見てませんが、プラモは買ったりします。

「ガンダムSEEDデスティニー」って「ガンダムSEED」のなんなんだろうと思って調べたら、単純に続編とのことです。どこか外伝みたいな小ぶりなイメージがあるものの、SEEDは50話放送、デスティニーも50話放送でしっかりとした続編のようです。制作期間が短かったということで、どこか小ぶりな印象があるのかもしれません。とはいえ当時はだいぶ人気だったそうです。

Wikipedia - ガンダムSEEDデスティニー/アニメ誌での評価




イメージ・ベースド・ライティング(IBL) -[modeling]

今年の3月から、「キャラクターモデリング造形力矯正バイブル第2版」という本を読みながら、リアルな 3DCG のモデリングを練習しています。


今日は製作中のモデルに対して、このサイト(→)を参考にして IBL によるレンダリングを行ってみました。

▼製作中のモデル

IBLとは「現実世界の全方向の光情報をキャプチャした画像を光源として用いる3Dレンダリングの手法」です。(weblio辞書より

レイトレーシングやパストレーシングが1個や2個など、人間が作った限られた光源を使って光の計算をするのに対し、IBL は写真画像に含まれる草原や空や木々などから反射される光の情報を使って光の計算を行います。そのためフォトリアルなレンダリング結果が得られる、というものです。


サイトによると、Shade3D で IBL を設定するには…

  1. 表示 メニュー>ShadeExplorer

  2. 左のリストの プリセット>背景>Green を開き、Park_of_pine_1.shdbgr を右クリックし、開く を選ぶ。


    すると、統合パレット>背景 タブに読み込まれる。


    なお、読み込んだ画像はこういう画像です。


  3. レンダリング メニュー>レンダリング設定

  4. 大域照明 タブ>大域照明: で パストレーシング を選ぶ。
    (同画面上部の 手法: の パストレーシング ではないことに注意)


以上でレンダリングすると下図の右の図のようになる。

▼パストレーシングのみ
これも綺麗は綺麗なんですが…
→ → →
IBLにすると…
→ → →
▼パストレーシング + IBL

フォトリアル!

なお、そのままだとにハイライトが入らず呪われそうな顔になってしまうので、光源を一個意図的に配置してあります。

▼呪われそうな顔になってしまう
▼光源を一個意図的に配置

こういうフォトリアルな画像はときどき見かけますが、どうやるんだろう?と手の届かない存在に思えていました。

しかし、インターネットのサイトさんのおかげで私も出来るようになりました。

どうもありがとうございました。


それから、皆さんの参考になるように、各3DCGモデリングソフトの IBL の対応状況を調べたので掲載しておきます。

ソフト名 対応状況
Shade3D ver7.5以降、basic, standard, professionalいずれのグレードも対応
Blender
2.79b
対応している。 手順(ver2.79bの場合です。最近のver2.8以降はガラリと変わったようです)

手順の 標準の場合 の結果:
▼立方体
▼球
SubDiv設定で曲面を滑らかにしています。
場合によってはこのようにノイズが出てしまう。設定をいろいろいじっても直らない…。そこで、

手順の Cyclesレンダーを使う場合 の結果:
▼立方体
▼球
SubDiv設定で曲面を滑らかにしています。
最近の映画のワンシーンみたいですね!
ノイズを消すためには、このように Cycles レンダーを使う必要がある。
(標準のほうでノイズを消す方法はあるのだろうか…?)
メタセコイア メタセコイア自体には IBL の機能はないみたいで、連携の Renderman のほうで IBL の設定があるかもしれませんが、情報が少なくて確認できません。対応していないんじゃないかと思います。
MAYA 調べなくても、当然あると思う。

以上のとおり、皆さんにとって身近なのは Blender になるかなと思います。(不思議なインターフェース(ver2.8前)にはびっくりしますが…)


(訪問者のどんなニーズと この記事がつながるか)



2019/5/11(土)

RPGの試作 -[rpg]

タイトル画面~フィールドを歩くだけ、というRPGの試作品を作りました。

まぁ、何もできないので、面白くないとは思いますが…。

fig.
▲クリックすると JavaScript を実行します

タイトル画面。雪が降っています。

雪が降っているのは、「英雄伝説3白き魔女」みたいですが…。

スタートとコンティニューの区別はありません。

どちらでも選んで Enter キーを押すと、雪が動いたまま、次の画面へ移動します。これはこのページの下のほうの 5/4(土)の記事で紹介した「動いたまま画面切り替えするプログラム」です。

操作はキーボードの キーと Enter キーを使います。画面タッチには対応していません。



fig.
▲マップ画面

すぐにフィールドの画面になります。

普通と違うのは、画面の色を「実際に自分で撮影した、草原写真、木の写真、海の写真から色を取ってきた」というところです。そのため、より現実のムードに近いのではと思います。でもちょっと暗いので明るくしたほうが良いかも。



fig.
▲全体マップ

左図はこの試作で使っているフィールドのマップです。

左上に「頭がある」と思えば、全体は「猿」に見えます。

しかし、左上と右上に「カニのハサミがある」と思えば、全体は「カニ」に見えます。

そういう、「何かに見える」という方法でマップを描くと、それなりのマップが出来上がりますよ。

たとえば、現実に、千葉県はチーバ君だし、四国はオーストラリアに見えますよね。イタリアは明らかに長靴でしょ。北海道の一部が「取っ手」みたいで握って持てそうですよね。

月にはウサギがいるし、空を流れる雲はいつも何かしら何かに見えますよね。

世の中の自然のものっていつも何かに見える、ってことを逆に考えて、マップをそれらしく作るには何かをマネて描けばどこか自然になる…というわけです。

猿の上にカニを乗せた理由は、猿だけだとほんとに猿に見えてしまうので、カニにも見える…というように一種のノイズを猿に加えて、猿であるということをぼやかす効果があります。自分で作った猿の画をじいっと見て、何か別のものに見える気がする!と思ったら、猿をある程度維持しつつ、その別のものに近づけるように手を加えていきます。私の場合はそれがカニだったんです。

なお、画面サイズはファミコンと同じサイズ(256x244)。マップサイズはドラクエのアレフガルドと同じくらいのサイズ(128x128)になっています。スーパーファミコン以上の色遣いは避けてファミコンの色遣いにしようと考えています。



このプログラムの一式(576 KB、ZIP形式)

.BAKファイルとか、メモ書きファイルとか、ちらかったままですが、お手元で動かせます。


(訪問者のどんなニーズと この記事がつながるか)


ピンポーン! ネット依存から子供を守るため…

このホームページは23時を過ぎると配信を停止していますが、今までは日本と外国とで「時差」があると、外国で昼間でも日本で23時を過ぎていれば、配信停止になってしまいました。

しかし、このたび時差に対応し、この問題は解決しました。

(…したと思います。外国からアクセスして試したりできないので確認できません)

23時をすぎていないのにこの表示が出たら、「時差を考慮する」のボタンを押せば、正常に配信されます。

…でも、日本国内ではこの問題は起こらないかな。


2019/5/6(月) GW10日目

海はまだ冷たかった -[dekake]

朝7時ごろ、近所の海へ行ってきました。

靴を脱いで足だけ海に入ったんですが、まだ冷たくて「たまらん!」という感じでした。

(右上の写真リンク( 5/6(月) タイトルの右の小さい画像)がその写真です)


GW勉強「アセンブリ言語ハンドブック 高田美樹 著」 -[asm]

GW中は何か勉強しようということで、同 書籍を読んでいました。

3日坊主とかじゃなくて、ちゃんと10日間毎日勉強でき、本の最後まで読めました。

「何もしないで遊んでいると不安」と言って始めたGW勉強だったので、その成果をここにお知らせすることにします。


本に掲載のサンプルプログラムは全部で 41 個もありましたが、丹念に WCASL-II で入力して動きを見てきました。

そのなかで技術的に気づかされることが多くありました。

また、本の章末の練習問題が7個あり、それらは自分で考えてプログラムしました。

以下は私が作ったアセンブリプログラム7個です。(リンク先の「実行」ボタンは実行できません)

    1. 20190502-P168-1.cas
    2. 20190502-P184-1.cas
    3. 20190502-P217-1.cas
    4. 20190502-P227-1.cas
    5. 20190502-P252-1.cas
    6. 20190502-P267-1.cas
    7. 20190502-P276-1.cas

本の最後の x86系CPU(Windowsパソコン) のアセンブリ言語は Visual Studio で入力して試せました。

入力して試せた、というのは…

一般的なプログラミング言語である C言語は Cコンパイラ で「実行形式ファイル(.exeなど)」に変換されて実行されます。下図

同じように、アセンブリ言語は アセンブラ というソフトウェアで実行形式に変換されて実行されます。下図

私は Windows 用のアセンブラというソフトウェアは持っていないので本の x86系CPU のサンプルは試せないと思っていましたが、本の記事では「C言語のインラインアセンブラ」という機能を使ってアセンブリ言語を入力し実行する、という形を取っていたのでアセンブラというソフトなしでも試すことができました。下図


そういや、昔、麻宮騎亜のマンガで「コンパイラー&アセンブラー」ってあったっけ…
あれ、何のマンガだったんだろう…


また、本の最後には組込み系CPU(電子工作PICマイコン)のアセンブリ言語も載っていて、MPLAB IDE で入力してシミュレーター機で試せました。

こちらは MPLAB IDE がアセンブラを用意しているので、アセンブリ言語そのままで入力できました。

「MPLAB IDE」(エムピーラブ・アイデーイー)は電子工作などをする人たちが使っているプログラミング環境です。

▼組込み系CPUとは
  最近好きだな inside…


こういったアセンブリ言語の勉強で電気の技術者として働けるわけではないし、プログラマーとして働けるわけでもなく、メリットがいまいち見えてきませんが、以前からコンピューターのしくみや、アセンブリ言語は気になっていたので、勉強できてよかったです。

GWにどこへも出かけない代わりに、有意義に過ごせたと言えそうです。

皆さんも まとまった休みがあったら、何かチャレンジしてみてはどうでしょうか。


(訪問者のどんなニーズと この記事がつながるか)


2019/5/4(土) GW8日目

動いているのにじわじわ画面が切り替わるプログラム例 -[program]

fig.
▲じわじわと

ゲームとかで画面から画面へ切り替わるとき、じわじわと次の画面が現れる…というのはよくある画面効果ですが、今回作成したのは、切り替わりの前後の画面が両方とも動いているのに、じわじわ画面が移り変わります。

実行したら、画面をクリックしてください。



プログラムリスト

プログラムは大きく分けて「じわじわのスクリーントーン画像を作るための部分」(makeTones関数)と、「描画部分」(frame, frameA, frameB関数)に分けられます。

両方動きながらじわじわ描画のカラクリの部分は、frame関数です。

そのほかの関数はそんなにトリッキーなことはしていません。

Windows の Firefox, Chrome, Edge, IE と、スマートホンの Firefox, Chrome, 標準ブラウザで動作確認しました。

いくらか応用しやすいようにプログラムしてあるので、もし使いたい方がいたら自由に使ってください。


参考にしたページなど:


(訪問者のどんなニーズと この記事がつながるか)


2019/5/2(木) GW6日目

GWなのに勉強してるのはなんでだ?

GWに入ってから毎日、「アセンブリ言語ハンドブック 高田美樹 著」で、コンピューターの動きを勉強しています。

せっかくのGWなのにどうして勉強なんかするんだよって思う人もいると思います。


契約社員で派遣で時給

私は「契約社員で派遣で時給」ですが、同じ条件の人は今の世の中 多いと思います。

時給は「働いた分だけ給料になる」という給料計算なので、今回のGWのように10日間休みだと、土日を除外して8日分の給料がマイナスになります。

それでGWになって給料が減るというのに、いったいどこへ(遊びに)出費しに行くというのか…。

というわけで、「契約社員で派遣で時給」の人はあまり遊べないんです。


それから、今回「電子機器組み立て1級」の試験を受験しないことにしましたが、そうやって何もしないで遊んでいると、私の性格だと思いますが、ちょっと不安なんです。

「契約社員で派遣で時給」で不安定な生活を送っていて、なおかつ遊ぶ?

不安定を自ら増長している感じがして、いつでも何かしら勉強していないと、危ないんじゃないかなと思うんです。


収入が減るGW & 不安定な生活 という2つの理由で家にこもってGW勉強しています。


どうしてアセンブリ言語 -[asm]

GW勉強として具体的に何をやっているかと言うと、「アセンブリ言語ハンドブック 高田美樹 著」で紹介されている「WCASL-II」(サイト)という仮想コンピューターを使ってコンピューターの細かい動きを日々見ています。


▼「WCASL-II」の画面。 アセンブリ言語を入力し、アセンブルし、コンピューターの動きを順を追って表示してくれる。


小中学生、高校生から見れば、アセンブラの LD, LAD, DS, DC などのニーモニックと呼ばれる命令や、FFFFといった16進数、コンピューターの模式的な回路図は、何をやっているのか全然わからない 難しげなものに見えるはずです。私も子供のころはさっぱり意味の分からない世界でした。

それに今の時代、このようなコンピューターの本質部分というのは必ずしも理解する必要はなく、JavaやC言語やC#、Pythonなど、人気の言語の質の高いライブラリを勉強してライブラリを利用すれば感じの良いソフトウェアは作れると思います。

オブジェクト指向や、Oracleデータベースなども同じで、勉強すれば感じの良いソフトウェアが作れると思います。


それなのにどうしてそれらを勉強せずに、まず最初に本質部分の勉強を選ぶのか…。

それはたぶん、安定感です。(さっきの話の「生活の安定」の話ではないです)

木に例えると、JavaやC言語やC#、Python、オブジェクト指向や、Oracleデータベースなどは、枝葉です。

それに対し、アセンブリ言語やコンピューターの回路の理解は木の幹です。

枝葉の部分をたくさん習得するのも良いんですが、木の幹の部分をあまり おろそかにすると、いざというときに木の幹の細さで倒れると思うんです。

新人のプログラマーの人とかは、たぶん、使いもしない2進数を「しっかり理解しておきなさい」と言われたことがあると思います。でも実務に入ると、2進数はあまり出てこなかったりする。そんなものよりはオブジェクト指向のほうがよっぽど出てきて、オブジェクト指向を理解していないと仕事の話についていけない…っていう場面があるんじゃないかな。お客さんに出す製品の仕様書にクラス図とかUMLとか使われてるとか。

たとえば、あるソフトの開発中、画面に表示される数値が正の数のはずなのに、なぜか負の数が表示されている。テストとして負の数を与えていないのにどうして? その答えはテストとして与えた数が大きすぎてオーバーフローを起こして、数値の2進数の左端の符号ビットに1が入り、負の数になってしまった。だからその数値は符号付きではなく、符号なしに変数を宣言しなおすことになる…。

そういう感じで2進数のしくみをよく勉強しておけば、意外な事象、「いざというとき」に力を発揮します。

本質的な部分を理解すると、そのあとに続く問題の理解が速くなります。

また、本質的な部分を理解すると、じつによく、応用が利きます。

それがつまり、地面にしっかり根を張ったような「安定」なんです。

(でも基礎や本質といった部分は勉強に時間がかかるので、なかなか勉強する時間は取りづらいです)


でも午後は遊んでる

午前は勉強して、午後は遊んでいます。好きな音楽(ゲーム音楽やアニメソングなど)をヘッドホンで聞きながら…

などなど。GWが終わって会社で「どっか行った?」と聞かれたら、「自分のやりたいこといっぱいやってました☆」と言うつもりです。


コンピューターは数値をどんな形で扱っているのか? 調べてみよう

ところで、さきほど「WCASL-II」の画面を出したところで「小中学生、高校生から見れば」という言い方をしましたが、小中学生、高校生にはアセンブラやコンピューターの回路図はとても難しいと思います。そこで、次のような話で興味だけでも持ってもらえたらと思います。

たとえば、何かのプログラミング言語の変数宣言で、「整数」の変数を宣言したとします。C言語だったら、

int a = 123;

です。この 123 って、パソコンの中でどんなふうに扱われているんでしょうね? そりゃぁ、あんた…



パソコンの中のどこにもそんなふうにアラビア数字で "123" って書いてはいないですよ=3

でも知らなければみんなそう考えるでしょう。


「コンピューターは 1 と 0 の世界」というのは わりと誰でも聞いたことがあると思います。

123 を 1 と 0 だけで表すと、

123 = 0111 1011

という2進数になります。

123 などの数値はこういう2進数でコンピューターの中で扱われているってことです。

場所はメモリというハードウェア部品の中です。

でもホントにそういう 1 と 0 の並びでメモリに入っているんでしょうかね?

見たことある?


ちょっと Microsoft Visual Studio を起動して確認してみましょう。


▲1. Visual Studio を起動したところ。
(バージョン表示しています)
(この手順は18までありますが、そんなに難しいことはしていません)

▲2. ファイルメニュー>新しいプロジェクト

▲3. 新しいプロジェクト ウィンドウにて、
Visual C++ で 空のプロジェクト を選ぶ。
名前やソリューション名などは適当に。

▲4. プロジェクトが開いたら、
ソリューションエクスプローラー から、
ソース ファイル>右クリック>追加>新しい項目 を選ぶ。

▲5. 新しい項目の追加 ウィンドウが開いたら、
VisualC++ で C++ ファイル(.cpp) を選ぶ。
下の 名前 欄の Source.cpp を…

▲6. Source.c に直して、追加 ボタン。

▲7. Souce.c のテキストエディタ画面になる。

▲8. 下記のプログラムを入力します。


#include <stdio.h>

void main() {
    int a = 123;
    printf(a);
}


▲9. 入力したら、
printf の行の一番左の灰色部分をクリックして ブレークポイント (赤い)を表示させ、ローカル Windows デバッガー のボタンを押します。

▲10. するとプログラムが実行され、printf の行で止まります。

▲11. デバッグ メニュー>ウィンドウ>メモリ>メモリ 1 を選びます。

▲12. すると、メモリ 1 の画面が表示されます。

▲13. 左下の ウォッチ 1 の画面にて、
名前列のすぐ下をクリックして、
 &a と入力します。

▲14. すると、値列に変数 a のメモリ上のアドレスが表示されます。

▲15. その表示を右クリック>値のコピー を選びます。

▲16. メモリ 1 画面の アドレス 欄を右クリック>貼り付け を選びます。

▲17. アドレス以外の余分な文字 {123} を削除して(0x012FFA24 のような状態にして)、Enter キーを押します。

▲18. すると、変数 a のメモリ上のアドレスへ画面が移動し、そのアドレスには 7b というデータが入っているのがわかります。このデータについて…



16進数なので、2進数に直すと

7b = 0111 1011

!!…これはこの記事の最初に示した 123 の2進数と同じです!

というわけで、ちゃんとメモリのなかでそういう 1 と 0 の並びになっていることが確認できました。


さらに「メモリ」というハードウェアを考えると……なんと!! -[den]

でも、もっと具体的にあなたのパソコンをまじまじと見て想像してほしいので、「メモリ」というハードウェアについて説明しますね。

(これってほんとに日記なのか?)

メモリの構造は、Wikipedia の「DRAM」のページに出ています。(Wikipedia - DRAM(Dynamic Random Access Memory)


▼1. パソコンの中には、こういう「メモリー」と呼ばれる基板が入っています。


▼2. そして、メモリー基板には「メモリーIC」がいくつか載っています。イラストでは4つ載っています。


▼3. メモリーICの中は、メモリの「周辺回路」と、「メモリセル集合部分」とで構成されているそうです。(Wikipedia - DRAMより)


▼4. Wikipedia によると、「1つのメモリセルで1ビットの記憶(1か0)を保持している」のだそうです。


▼5. 1つのメモリセルには1つのコンデンサ(キャパシタともいう)が入っています。


▼6. メモリセルのコンデンサに電気がある場合はビットが1、ない場合はビットが0というように扱われています。


それが実際、どういうことなのか実験動画を見てみましょう!



実験に使用した部品:

  • コンデンサ … 容量 220uF
  • 電池 … ボタン型、電圧 3.3V
  • LED … 青色

「コンデンサ」と「電池」と「LED」を使ってメモリー(DRAM)の実験をします。

読みだしの LED 点灯はごく一瞬です。

情報 "1" を書き込み

電池とコンデンサの + どうし、- どうしを合わせて充電。

情報 "1" を保持しています

コンデンサに電気が貯まっています。

情報 "1" を読み込み

ごく一瞬!

LED とコンデンサの + どうし、- どうしを合わせて放電。


コンデンサに充電があれば1、充電がなければ0です。

情報 "0" は実験していませんが、0 の書き込みは「充電しない」ということです。

読みだしたとき LED が光らなければ「充電がない」ので "0" を読んだことになります。


コンデンサがメモリーとして使える、ということがわかっていただけましたでしょうか。ガッテン


なお、コンデンサは充電したまま放置すると、自然と放電していくので、ときどき同じ内容を書き込みなおす(リフレッシュする)必要があります。それが Dynamic(動的)だ(DRAMのD)ということです。


▼7. 以上のことから「↓こんなイメージを持って良い」ということでしょう。



………、というわけで、電気がちゃんと、

 という感じで、そこに存在しているということです。

ブラックボックスだったパソコンの正体がちょっと見えた感じで、少し興味がわいたんじゃないでしょうか…?

見えなかったものが見えると、自由に使いこなせる気がするものです。


(訪問者のどんなニーズと この記事がつながるか)


2019/5/1(水) GW5日目

このホームページのメニュー欄

項目が増えてきたので縦リストではなく、アイコンにしてみました。

アイコンにしたのはトップページだけで、3DCGやRPG開発などサブメニューに入ると、以前と同じ表示です。


写真撮影2点

fig.
▲キク科の花

私が3年前くらいから育てている鉢植えです。

GW中、きれいに咲いていたので撮影しました。



fig.
▲ホットケーキ

ホットケーキをそのまま作って、そのまま食べてもイマイチおいしくないのは昔からで、最近食べてもやはり味気なかったです。

そこで、砂糖を少々加え、ココアパウダーを小さじ3杯ほど入れ、ピーナッツを砕いて入れて、ブラウニーみたいにして焼きました。ホントのブラウニーはチョコレートのシロップか何かをしこむんだろうか?

GW中にこうやってホットケーキとか何か特別な料理を手作りしていると、「GWらしい」気がしました。

食べてみると、まぁまぁ食べられるようになりました☆




(訪問者のどんなニーズと この記事がつながるか)














webappsrcの確認

1. %%com.webapp.src:/webappsrccheck.html%%
と記述した場合

webapps/src/default.cssのスタイル指定が効く
<!DOCTYPE html><!--ESCAPEPROCESS-->

<head>

<script>

function onloadx() {

//一般関数

console.log( "文字列" );

}

function Class1() {

//クラス

console.log( "文字列" );

}

Class1.prototype.method1 = function() {

//メソッド

console.log( "文字列" );

}

</script>

</head>

<body onload="onloadx();" style="">

Hello world!<BR>

</body>

</html>



2. <code>
%%com.webapp.src:/webappsrccheck.html%%
</code>
と記述した場合

このファイルのcodeのスタイル指定が効く
<!DOCTYPE html><!--ESCAPEPROCESS-->

<head>

<script>

function onloadx() {

//一般関数

console.log( "文字列" );

}

function Class1() {

//クラス

console.log( "文字列" );

}

Class1.prototype.method1 = function() {

//メソッド

console.log( "文字列" );

}

</script>

</head>

<body onload="onloadx();" style="">

Hello world!<BR>

</body>

</html>



3.
%%com.webapp.src:/webappsrccheck2.html,/webappsrccheck.html%%
と記述した場合

webapps/src/default.cssのスタイル指定が効く
<!DOCTYPE html><!--ESCAPEPROCESS-->

<head>

<script>

function onloadx() {

//一般関数 コメント変更

console.log( "文字列変更" );

行追加

}

function Class1() {

//クラス コメント変更

console.log( "文字列変更" );

行追加

}

Class1.prototype.method1 = function() {

//メソッド コメント変更

console.log( "文字列変更" );

行追加

}

</script>

</head>

<body onload="onloadx();文字列変更" style="">

Hello world!<BR>

HTML追加

</body>

</html>



4. <code>
%%com.webapp.src:/webappsrccheck2.html,/webappsrccheck.html%%</code>
と記述した場合

このファイルのcodeのスタイル指定が効く
<!DOCTYPE html><!--ESCAPEPROCESS-->

<head>

<script>

function onloadx() {

//一般関数 コメント変更

console.log( "文字列変更" );

行追加

}

function Class1() {

//クラス コメント変更

console.log( "文字列変更" );

行追加

}

Class1.prototype.method1 = function() {

//メソッド コメント変更

console.log( "文字列変更" );

行追加

}

</script>

</head>

<body onload="onloadx();文字列変更" style="">

Hello world!<BR>

HTML追加

</body>

</html>



5. リンクで
src?webappsrccheck.html
と記述した場合

webapps/src/default.cssのスタイル指定が効く
開く

6. リンクで
src?webappsrccheck2.html,webappsrccheck.html
と記述した場合

webapps/src/default.cssのスタイル指定が効く
開く